This specification relates to data processing.
Data is often processed in a distributed computing environment. For example, one set of computing devices may be used to perform a first set of operations on a set of data, while another set of computing devices may be used to perform a second set of operations on the dataset. In some situations, the second set of operations may use results of the first set of operations as input, such that the first set of operations may need to be completed prior to performance of the second set of operations. In distributed computing environments, different computing devices may operate asynchronously relative to the other computing devices, and the different computing devices may have different processing capabilities. Thus, it can be difficult to deterministically process a set of data in a distributed computing environment.